Skip to main content

第7章 分支/判断结构

7.1 if语句

if(条件表达式)
{
//条件为真执行
}

条件非0即为真,0为假;只有一条语句可以省略大括号,但建议保留大括号

7.2 if‑else

if(条件)
{
//真
}else
{
//假
}

两个分支只会跑其中一个

7.3 if‑else if‑else多分支

if(条件1){

}else if(条件2){

}else if(条件3){

}else{
//全部不满足执行
}

规则:从上往下判断,遇到第一个成立条件执行,直接跳出整个多分支。小范围条件写在前面,否则会被覆盖。else可选。

7.4 switch多分支

适合变量等于若干整数常量的场景。

switch(表达式){
case 常量1:
语句;
break;
case 常量2:
语句;
break;
default:
//全部不匹配执行
break;
}

重点:

  1. switch表达式必须是整数类型(int、char);case必须是常量,不能重复。
  2. break作用跳出switch;没有break会穿透,继续往下执行case
  3. 多个case可以共用代码:
switch(n){
case 1:
case 3:
case 5:
printf("奇数");
break;
}
  1. default位置可以任意,习惯写最后。

7.5 分支嵌套

if内部写if,switch内部写switch;依靠缩进区分层级。

int a=5,b=3;
if(a>b)
{
if(a-b>2){
cout<<"a比b大很多";
}else{
cout<<"a比b大一点";
}
}